//========================================================================
//  SE5 AI Global Variables - Captain Kwok's Balance Mod v125+
//========================================================================
//
// Balance Mod Changes
// -------------------
// v1.29 Added   - Variables for allow/sharing minefield codes as part of ModAITreatySettings.txt
//       Added   - Variable for tracking systems with limited planets
//       Added   - Variable to trigger new designs where there is a design strategy change
//       Added   - Variables for tracking system chokepoint-ness
//       Changed - Revised several of the variables for performance tracking
// v1.27 Added   - New variable for setting task force fill strategy
// v1.26 Added   - Variables for tracking research levels for other players
// v1.25 Added   - Variables for new PD weapon usage
//       Added   - New variables for controlling added design types like Satellite (Repair)
//       Added   - Variable for tracking colony pollution
//       Added   - Boolean variables for tracking colonization settings, quadrant density
//       Added   - Variables for tracking AI cooperation
//       Added   - Variable for tracking reputation score
// v1.21 Added   - New variables for empire strategy flags
//       Added   - New variables for anger location settings
//       Added   - New variables for ModAITreatySettings.txt settings to control AI behaviour
// v1.20 Added   - Added variables for performance tracking
//       Added   - Variables to note overall empire strategy
//       Added   - Added anger variables for stellar manipulation events
// v1.19 Added   - Boolean variable for marking Ancient Race trait
//       Added   - List variable for tracking important ship IDs
//       Added   - List variables to track total enemy counts per system
//       Added   - Additional variables for resource management (v1.19a)
//       Added   - Variable to track system connectivity (v1.19c)
//       Added   - Variables to count number of resource facilities (v1.19c)
//       Added   - Variables to track/note movement differences against enemies (v1.19g)
//       Added   - Variable to identify system capitals (as rally points) (v1.19h)
//       Added   - Variables to identify colonies with more units then they need and unit hubs (v1.19h)
//       Added   - Variables to track number of diplomatic states (v1.19h)
//       Added   - Variables to track combat performance (v1.19h)
//       Added   - Variables to store desired ship distributions for fleets (v1.19i)
//       Added   - Variable to track number of dangerous mines for each target player (v1.19j)
//       Added   - Variable to track number of planets expected to be colonized this turn (v1.19j)
//       Added   - List variable for tracking repair locations (v1.19j)
//       Added   - Variables for tracking AI anger locations (v1.19j)
//       Added   - Variables for remote usage of units (v1.19j)
// v1.17 Added   - New anger level variables for politics
//       Added   - Additional variables for marking various locations
// v1.15 Changed - Condensed weapon list variables into a single group
//       Changed - Updated some of the anger variables
//       Changed - Updated the variables used for design creation
//       Added   - New list variable for keeping track of core worlds
//       Changed - Revised fleet strategy variables
//       Added   - Boolean variables for noting if the AI is at maximum number of ships/units
// v1.14 Added   - New list variables to store preferred weapon choices for all vehicle types
//       Added   - Variables to control the AI's distribution of ship sizes
//       Added   - Variables to store information about enemy designs
// v1.13 Added   - Variable for AI research/intel balance
//       Added   - Variables to control conditions for scrapping ships and units
//       Added   - Variables to control unit group sizes
// v1.12 Added   - New political variables to control response times for diplomacy
//       Changed - Political variables for trades and gifts etc. will use fear rather than score
//       Added   - Political variables to hold target priority information
//       Added   - New variables to hold values for attacking and defending
//       Added   - List variables to keep track of AI fleets
//       Changed - Revised variables for fleet strategies
// v1.10 Added   - More boolean variables to control AI resource levels
//       Added   - Variable to set construction priority
//       Added   - Variables to set percentage of cargo space for units
//       Changed - Revised facility ID variables
//       Added   - Locations for Fleet training
//       Added   - More variables for controlling AI ship construction
//       Added   - Boolean variable if other empires are known
//       Added   - String variables to track AI's preferred design type specific strategies
//       Changed - Moved ship design variables to Fx[Get_Component_Pct_To_Add] in Script_AI_DesignCreation
// v1.09 Added   - List variables to mark locations for active fleets to wait for ships
//       Changed - Modified variables for modifying anger for political state
// v1.08 Added   - List variables to list mine and satellite drop locations
//       Added   - More boolean variables to control components added to designs
// v1.07 Changed - Variables to control component percentages for vehicle design
//       Added   - Boolean variable for Master Computer usage
//       Added   - Boolean variables to control weapon type preferences for a race
// v1.06 Changed - Added facility_id variables from Script_AI_Construction.txt
//       Added   - Boolean variables to assess resource conditions
//       Added   - List variables to store score comparisons and fear amounts
// v1.05 Added   - List variable to store plagued colonies
// v1.04 Added   - List variable to help the AI use vehicle sizes more efficiently
//       Added   - Boolean variables to control what Stellar Manipulation Ships are designed for a race
//       Added   - Boolean variables to identify if race uses a racial trait
// v1.03 Added   - Boolean variable for AI use of Remote Mining Ships
//       Added   - List variables for colony type and name
//       Added   - Variables to control number of Patrol/Scout ships
//       Changed - Moved some global variables from Script_AI_Lists to Script_AI_GlobalVariables
// v0.97 Added   - Additional variables to specify AIs to use additional armor types
//       Added   - Variables to better control addition of extra components to design types
//       Added   - Boolean variables for race to use Cloaking Devices or not
// v0.96 Added   - Boolean variables to specify AIs to build certain design types
// v0.95 Added   - Heavy weapon list variables for Weapon Platforms
// v0.94 Added   - Alliance voting variables
// v0.92 Changed - Increased number of explorers AI uses
// v0.91 Added   - Infrastructure variables for more specific weapons referencing
// v0.72 Added   - Variables to specify more accurate tonnage percentages for all vehicles
//
// Balance Mod To-do List:
// -----------------------
// - Nothing pending

//------------------------------------------------------------------------
// Global Variables
//------------------------------------------------------------------------
globalvars

  // Game settings
  lng_AI_Categorization:                                   long
  lng_AI_Secondary_Categorization:                         long
  lng_AI_Villain_Status:                                   long
  lng_AI_Difficulty:                                       long
  lng_AI_Quadrant_Density:                                 long
  lng_AI_Quadrant_Location_Score:                          long
  lng_AI_Quadrant_Location:                                long

  bool_Are_We_Computer_Player:                             boolean := FALSE
  bool_Are_We_Neutral_Player:                              boolean := FALSE
  bool_Colonize_All_Types:                                 boolean := TRUE
  bool_Colonize_Only_Breathable:                           boolean := FALSE
  bool_Colonize_Only_Home_Type:                            boolean := FALSE
  bool_Colonize_Only_Home_And_Breathable:                  boolean := FALSE
  bool_Quadrant_Density_Low:                               boolean := FALSE
  bool_Quadrant_Density_Medium:                            boolean := FALSE
  bool_Quadrant_Density_High:                              boolean := FALSE
  bool_AI_Team_Mode_On:                                    boolean := FALSE
  bool_Mega_Evil_Activated:                                boolean := FALSE
  bool_Early_Game:                                         boolean := FALSE

  bool_Race_Does_Not_Use_Spaceports:                       boolean := FALSE
  bool_Race_At_Max_Tech:                                   boolean := FALSE
  bool_Race_At_Max_Intel:                                  boolean := FALSE
  bool_Race_At_Max_Ships:                                  boolean := FALSE
  bool_Race_At_Max_Units:                                  boolean := FALSE
  bool_Intel_Is_Allowed:                                   boolean := FALSE
  bool_Race_Is_Not_Alone:                                  boolean := FALSE
  bool_Race_Is_Ancient_Race:                               boolean := FALSE
  bool_Race_Limited_Connectivity:                          boolean := FALSE

  // Special Mod Game Settings (See ModAITreatySettings.txt in Data folder)
  bool_ModAITreatySetting_Allow_Trade:                     boolean := TRUE
  bool_ModAITreatySetting_Allow_Migration:                 boolean := TRUE
  bool_ModAITreatySetting_Allow_Colonization:              boolean := TRUE
  bool_ModAITreatySetting_Allow_Share_Technology:          boolean := TRUE
  bool_ModAITreatySetting_Allow_Share_Maps:                boolean := TRUE
  bool_ModAITreatySetting_Allow_Share_Comm_Channels:       boolean := TRUE
  bool_ModAITreatySetting_Allow_Share_Espionage_Info:      boolean := TRUE
  bool_ModAITreatySetting_Allow_Share_Sensor_Info:         boolean := TRUE
  bool_ModAITreatySetting_Allow_Share_Vehicle_Designs:     boolean := TRUE
  bool_ModAITreatySetting_Allow_Share_Combat_Reports:      boolean := TRUE
  bool_ModAITreatySetting_Allow_Share_Minefield_Codes:     boolean := TRUE
  bool_ModAITreatySetting_Offer_Trade:                     boolean := TRUE
  bool_ModAITreatySetting_Offer_Migration:                 boolean := TRUE
  bool_ModAITreatySetting_Offer_Colonization:              boolean := TRUE
  bool_ModAITreatySetting_Offer_Share_Technology:          boolean := TRUE
  bool_ModAITreatySetting_Offer_Share_Maps:                boolean := TRUE
  bool_ModAITreatySetting_Offer_Share_Comm_Channels:       boolean := TRUE
  bool_ModAITreatySetting_Offer_Share_Espionage_Info:      boolean := TRUE
  bool_ModAITreatySetting_Offer_Share_Sensor_Info:         boolean := TRUE
  bool_ModAITreatySetting_Offer_Share_Vehicle_Designs:     boolean := TRUE
  bool_ModAITreatySetting_Offer_Share_Combat_Reports:      boolean := TRUE
  bool_ModAITreatySetting_Offer_Share_Minefield_Codes:     boolean := TRUE

  // Lists for research spending groups
  lst_Research_Spending_Group_Name:                        stringlist
  lst_Research_Spending_For_Group:                         longlist

  // Lists for wanted tech areas
  lst_Research_Tech_Area_Name:                             stringlist
  lst_Research_Tech_Area_Max_Level:                        longlist

  // Points production settings
  lng_Pct_Pts_Research:                                    long := 80
  lng_Current_Pct_Research:                                long := 0
  lng_Pct_Pts_Intel:                                       long := 20
  lng_Current_Pct_Intel:                                   long := 0

  // Racial trait choices
  bool_Race_Uses_Crystalline_Tech:                         boolean := FALSE
  bool_Race_Uses_Interdimensional_Tech:                    boolean := FALSE
  bool_Race_Uses_Organic_Tech:                             boolean := FALSE
  bool_Race_Uses_Psychic_Tech:                             boolean := FALSE
  bool_Race_Uses_Temporal_Tech:                            boolean := FALSE
  bool_Race_Uses_Religious_Tech:                           boolean := FALSE

  // Lists for weapon choices
  lst_Primary_Weapon_Name:                                 stringlist
  lst_Secondary_Weapon_Name:                               stringlist
  lst_Heavy_Weapon_Name:                                   stringlist
  lst_Special_Weapon_Name:                                 stringlist
  lst_Bombardment_Weapon_Name:                             stringlist
  lst_Primary_PD_Weapon_Name:                              stringlist
  lst_Secondary_PD_Weapon_Name:                            stringlist
  lst_Special_PD_Weapon_Name:                              stringlist

  // Lists for armor choices
  lst_Primary_Armor_Name:                                  stringlist
  lst_Secondary_Armor_Name:                                stringlist

  // Roman Numerals
  lst_AI_Design_Suffixes:                                  stringlist

  // AI Empire Strategies
  lng_AI_Empire_Strategy:                                  long
  lng_AI_Empire_Strategy_Date:                             long

  bool_AI_Strategy_Peaceful:                               boolean := FALSE
  bool_AI_Strategy_Defend:                                 boolean := FALSE
  bool_AI_Strategy_Buildup:                                boolean := FALSE
  bool_AI_Strategy_Attack:                                 boolean := FALSE
  bool_AI_Strategy_Last_Stand:                             boolean := FALSE
  bool_AI_Strategy_Flame_Out:                              boolean := FALSE
  bool_AI_Strategy_Seek_Peace:                             boolean := FALSE

  lng_AI_Empire_Design_Strategy:                           long
  lng_AI_Empire_Design_Strategy_Date:                      long

  bool_AI_Design_Preference_Direct_Fire:                   boolean := TRUE
  bool_AI_Design_Preference_Mixed:                         boolean := TRUE
  bool_AI_Design_Preference_Seeker:                        boolean := TRUE
  bool_AI_Design_Preference_Small:                         boolean := FALSE

  // AI Empire performance tracking
  lng_AI_Empire_Overall_Performance:                       long
  lng_AI_Empire_Progress:                                  long
  lng_AI_Empire_Progress_Time:                             long
  lng_AI_Empire_Score:                                     long
  lng_AI_Empire_Score_Rank:                                long
  lng_AI_Empire_State_Modifier:                            long

  lng_AI_Empire_Num_Colonies:                              long
  lng_AI_Empire_Num_Population:                            long
  lng_AI_Empire_Num_Facilities:                            long
  lng_AI_Empire_Num_Minerals_Facilities:                   long
  lng_AI_Empire_Num_Organics_Facilities:                   long
  lng_AI_Empire_Num_Radioactives_Facilities:               long
  lng_AI_Empire_Num_Monolith_Facilities:                   long
  lng_AI_Empire_Num_Research_Facilities:                   long
  lng_AI_Empire_Num_Intel_Facilities:                      long
  lng_AI_Empire_Num_Ships:                                 long
  lng_AI_Empire_Num_Minerals:                              long
  lng_AI_Empire_Num_Organics:                              long
  lng_AI_Empire_Num_Radioactives:                          long
  lng_AI_Empire_Num_Research_Pts:                          long
  lng_AI_Empire_Num_Intel_Pts:                             long

  // AI Upgrades
  lng_AI_Design_Upgrade_Modifier:                          long

  // Components for designs
  lng_AI_Design_Pct_Shields:                               long := 0
  lng_AI_Design_Max_Num_Shields:                           long := 0
  lng_AI_Design_Pct_Primary_Armor:                         long := 0
  lng_AI_Design_Pct_Secondary_Armor:                       long := 0
  lng_AI_Design_Pct_Special_Armor:                         long := 0

  lng_AI_Design_Ratio_Launchers:                           long := 50
  lng_AI_Design_Pct_Cargo_Bay:                             long := 0
  lng_AI_Design_Pct_Solar_Collector:                       long := 0
  lng_AI_Design_Pct_Supply_Generation:                     long := 0
  lng_AI_Design_Pct_Supply_Storage:                        long := 0
  lng_AI_Design_Pct_Ordnance_Storage:                      long := 0
  lng_AI_Design_Pct_Ordnance_Replicator:                   long := 0
  lng_AI_Design_Pct_Repair_Bay:                            long := 0
  lng_AI_Design_Pct_Remote_Mining:                         long := 0

  lng_AI_Design_Weapon_Max_Tonnage:                        long := 0
  lng_AI_Design_Max_Num_Primary_Weapon:                    long := 0
  lng_AI_Design_Max_Num_Secondary_Weapon:                  long := 0
  lng_AI_Design_Max_Num_Heavy_Weapon:                      long := 0
  lng_AI_Design_Max_Num_Special_Weapon:                    long := 0
  lng_AI_Design_Max_Num_Primary_PD:                        long := 0
  lng_AI_Design_Max_Num_Secondary_PD:                      long := 0
  lng_AI_Design_Max_Num_Special_PD:                        long := 0

  bool_AI_Design_Add_Bulkheads:                            boolean := FALSE
  bool_AI_Design_Add_Shields:                              boolean := FALSE
  bool_AI_Design_Add_Stealth_Armor:                        boolean := FALSE
  bool_AI_Design_Add_Scattering_Armor:                     boolean := FALSE
  bool_AI_Design_Add_Energy_Refractor:                     boolean := FALSE

  bool_AI_Design_Add_No_Weapons:                           boolean := FALSE
  bool_AI_Design_Add_Primary_Weapon:                       boolean := FALSE
  bool_AI_Design_Add_Secondary_Weapon:                     boolean := FALSE
  bool_AI_Design_Add_Heavy_Weapon:                         boolean := FALSE
  bool_AI_Design_Add_Special_Weapon:                       boolean := FALSE
  bool_AI_Design_Add_Primary_PD:                           boolean := FALSE
  bool_AI_Design_Add_Secondary_PD:                         boolean := FALSE
  bool_AI_Design_Add_Special_PD:                           boolean := FALSE

  bool_AI_Design_Add_Supply_Storage:                       boolean := FALSE
  bool_AI_Design_Add_Ordnance_Storage:                     boolean := FALSE
  bool_AI_Design_Add_Ordnance_Replicator:                  boolean := FALSE
  bool_AI_Design_Skip_Ordnance_Storage:                    boolean := FALSE
  bool_AI_Design_Add_Special_Armor:                        boolean := FALSE
  bool_AI_Design_Add_Deflector_Array:                      boolean := FALSE
  bool_AI_Design_Add_Combat_Sensors:                       boolean := FALSE
  bool_AI_Design_Add_Long_Range_Scanners:                  boolean := FALSE
  bool_AI_Design_Add_Scanner_Jammer:                       boolean := FALSE
  bool_AI_Design_Add_ECM:                                  boolean := FALSE
  bool_AI_Design_Add_Multiplex:                            boolean := FALSE
  bool_AI_Design_Add_Supply_Generation:                    boolean := FALSE
  bool_AI_Design_Add_Shield_Regenerator:                   boolean := FALSE
  bool_AI_Design_Add_Cloaking_Device:                      boolean := FALSE
  bool_AI_Design_Add_Sensors:                              boolean := FALSE
  bool_AI_Design_Skip_Basic_Sensors:                       boolean := FALSE
  bool_AI_Design_Add_Extra_Movement:                       boolean := FALSE
  bool_AI_Design_Add_Combat_Movement:                      boolean := FALSE
  bool_AI_Design_Add_Solar_Collector:                      boolean := FALSE
  bool_AI_Design_Add_Security_Station:                     boolean := FALSE
  bool_AI_Design_Add_Self_Destruct:                        boolean := FALSE
  bool_AI_Design_Add_Repair_Bay:                           boolean := FALSE
  bool_AI_Design_Add_Repair_Pod:                           boolean := FALSE
  bool_AI_Design_Add_Medical_Bay:                          boolean := FALSE
  bool_AI_Design_Add_Turbocharger:                         boolean := FALSE
  bool_AI_Design_Add_Afterburners:                         boolean := FALSE
  bool_AI_Design_Add_Combat_Thruster:                      boolean := FALSE
  bool_AI_Design_Add_Talisman:                             boolean := FALSE
  bool_AI_Design_Add_Holy_War_Totem:                       boolean := FALSE
  bool_AI_Design_Add_Vengeance_Totem:                      boolean := FALSE
  bool_AI_Design_Add_Stealth_Totem:                        boolean := FALSE
  bool_AI_Design_Add_Combat_Best_Experience:               boolean := FALSE

  // Lists for adding extra components to a design
  lst_AI_Extra_Comp_Name:                                  stringlist
  lst_AI_Extra_Comp_Pct:                                   longlist
  lst_AI_Extra_Comp_Slot:                                  longlist

  // Boolean variables for vehicle usage
  bool_Race_Uses_Mines:                                    boolean := TRUE
  bool_Race_Uses_Remote_Mines:                             boolean := TRUE
  bool_Race_Uses_Fighters:                                 boolean := TRUE
  bool_Race_Uses_Remote_Fighters:                          boolean := TRUE
  bool_Race_Uses_Satellites:                               boolean := TRUE
  bool_Race_Uses_Remote_Satellites:                        boolean := TRUE
  bool_Race_Uses_Troops:                                   boolean := TRUE
  bool_Race_Uses_Weapon_Platforms:                         boolean := TRUE
  bool_Race_Uses_Drones:                                   boolean := TRUE
  bool_Race_Uses_Remote_Drones:                            boolean := TRUE
  bool_Race_Uses_Explorer_Ships:                           boolean := TRUE
  bool_Race_Uses_Scout_Ships:                              boolean := FALSE
  bool_Race_Uses_Patrol_Ships:                             boolean := FALSE
  bool_Race_Uses_Seeker_Ships:                             boolean := FALSE
  bool_Race_Uses_Kamikaze_Ships:                           boolean := FALSE
  bool_Race_Uses_Bombardment_Ships:                        boolean := FALSE
  bool_Race_Uses_Boarding_Ships:                           boolean := FALSE
  bool_Race_Uses_Quick_Launch_Fighters:                    boolean := TRUE
  bool_Race_Uses_Quick_Launch_Drones:                      boolean := FALSE
  bool_Race_Uses_Plague_Ships:                             boolean := FALSE
  bool_Race_Uses_Remote_Mining_Ships:                      boolean := FALSE
  bool_Race_Uses_Remote_Farming_Ships:                     boolean := FALSE
  bool_Race_Uses_Remote_Refining_Ships:                    boolean := FALSE
  bool_Race_Uses_Stellar_Manipulation_Ships:               boolean := FALSE
  bool_Race_Uses_Evil_Stellar_Manipulation_Ships:          boolean := FALSE

  // Boolean variables for component usage preferences
  bool_Race_Uses_Normal_Armor:                             boolean := TRUE
  bool_Race_Uses_Normal_Shields:                           boolean := TRUE
  bool_Race_Uses_Cloaking_Devices:                         boolean := TRUE
  bool_Race_Uses_Master_Computers:                         boolean := TRUE
  bool_Race_Uses_Autonomic_Ganglions_Only_Combat:          boolean := TRUE
  bool_Race_Uses_Autonomic_Ganglions_Always:               boolean := FALSE
  bool_Race_Uses_Combat_Best_Experience:                   boolean := FALSE

  // Boolean variables to track what enemies are using
  bool_Enemy_Uses_Mostly_Armor:                            boolean := TRUE
  bool_Friend_Uses_Mostly_Armor:                           boolean := TRUE
  bool_Enemy_Uses_Mostly_Shields:                          boolean := FALSE
  bool_Friend_Uses_Mostly_Shields:                         boolean := FALSE
  bool_Friend_Uses_Mostly_Shields:                         boolean := FALSE
  bool_Enemy_Uses_Emissive_Armor:                          boolean := FALSE
  bool_Enemy_Uses_Crystalline_Armor:                       boolean := FALSE
  bool_Enemy_Uses_Organic_Armor:                           boolean := FALSE
  bool_Enemy_Uses_Normal_Shields:                          boolean := FALSE
  bool_Enemy_Uses_Phased_Shields:                          boolean := FALSE
  bool_Enemy_Uses_Skip_Armor_Weapons:                      boolean := FALSE
  bool_Enemy_Uses_Skip_Shield_Weapons:                     boolean := FALSE
  bool_Enemy_Uses_Skip_All_Weapons:                        boolean := FALSE
  bool_Enemy_Uses_Shield_Depleting_Weapons:                boolean := FALSE
  bool_Enemy_Uses_Supply_Depleting_Weapons:                boolean := FALSE
  bool_Enemy_Uses_Only_Engine_Weapons:                     boolean := FALSE
  bool_Enemy_Uses_Master_Computers:                        boolean := FALSE
  bool_Enemy_Uses_Cloaking_Devices:                        boolean := FALSE
  bool_Enemy_Uses_Advanced_Sensors:                        boolean := FALSE
  bool_Enemy_Uses_Long_Range_Scanners:                     boolean := FALSE
  bool_Enemy_Uses_Boarding_Parties:                        boolean := FALSE
  bool_Enemy_Uses_Viral_Weapons:                           boolean := FALSE
  bool_Enemy_Uses_Evil_Stellar_Manipulation:               boolean := FALSE

  bool_Enemy_Uses_Seeker_Weapons:                          boolean := FALSE
  bool_Enemy_Uses_Long_Range_Seeker_Weapons:               boolean := FALSE
  bool_Enemy_Uses_Direct_Fire_Weapons:                     boolean := FALSE
  bool_Enemy_Ships_Are_Faster:                             boolean := FALSE
  bool_Enemy_Ships_Are_Much_Faster:                        boolean := FALSE
  bool_Enemy_Ships_Are_Slower:                             boolean := FALSE
  bool_Enemy_Ships_Are_Much_Slower:                        boolean := FALSE
  bool_Enemy_Ships_Have_Better_Sensors:                    boolean := FALSE

  bool_Enemy_Ahead_In_Ships:                               boolean := FALSE
  bool_Enemy_Far_Ahead_In_Ships:                           boolean := FALSE

  bool_Enemy_Ahead_In_Minerals:                            boolean := FALSE
  bool_Enemy_Ahead_In_Organics:                            boolean := FALSE
  bool_Enemy_Ahead_In_Radioactives:                        boolean := FALSE
  bool_Enemy_Ahead_In_Resources:                           boolean := FALSE
  bool_Enemy_Ahead_In_Research:                            boolean := FALSE
  bool_Enemy_Far_Ahead_In_Research:                        boolean := FALSE
  bool_Enemy_Behind_In_Research:                           boolean := FALSE
  bool_Enemy_Ahead_In_Intel:                               boolean := FALSE
  bool_Enemy_Far_Ahead_In_Intel:                           boolean := FALSE
  bool_Enemy_Behind_In_Intel:                              boolean := FALSE
  bool_Enemy_Intel_Overload:                               boolean := FALSE

  bool_Race_Boost_Research:                                boolean := FALSE
  bool_Race_Boost_Intel:                                   boolean := FALSE

  // Variables for resource management
  bool_Race_Minerals_Deficit:                              boolean := FALSE
  bool_Race_Minerals_Surplus:                              boolean := FALSE
  bool_Race_Organics_Deficit:                              boolean := FALSE
  bool_Race_Organics_Surplus:                              boolean := FALSE
  bool_Race_Radioactives_Deficit:                          boolean := FALSE
  bool_Race_Radioactives_Surplus:                          boolean := FALSE
  bool_Race_Minerals_Low:                                  boolean := FALSE
  bool_Race_Minerals_Adequate:                             boolean := FALSE
  bool_Race_Minerals_High:                                 boolean := FALSE
  bool_Race_Minerals_Prod_High:                            boolean := FALSE
  bool_Race_Minerals_Prod_Low:                             boolean := FALSE
  bool_Race_Needs_Minerals_Storage:                        boolean := FALSE
  bool_Race_Minerals_Cont_Low:                             boolean := FALSE
  bool_Race_Minerals_Emergency:                            boolean := FALSE
  bool_Race_Organics_Low:                                  boolean := FALSE
  bool_Race_Organics_Adequate:                             boolean := FALSE
  bool_Race_Organics_High:                                 boolean := FALSE
  bool_Race_Organics_Prod_Low:                             boolean := FALSE
  bool_Race_Organics_Prod_High:                            boolean := FALSE
  bool_Race_Needs_Organics_Storage:                        boolean := FALSE
  bool_Race_Organics_Cont_Low:                             boolean := FALSE
  bool_Race_Organics_Emergency:                            boolean := FALSE
  bool_Race_Radioactives_Low:                              boolean := FALSE
  bool_Race_Radioactives_Adequate:                         boolean := FALSE
  bool_Race_Radioactives_High:                             boolean := FALSE
  bool_Race_Radioactives_Prod_Low:                         boolean := FALSE
  bool_Race_Radioactives_Prod_High:                        boolean := FALSE
  bool_Race_Needs_Radioactives_Storage:                    boolean := FALSE
  bool_Race_Radioactives_Cont_Low:                         boolean := FALSE
  bool_Race_Radioactives_Emergency:                        boolean := FALSE
  bool_Race_Maintenance_Low:                               boolean := FALSE
  bool_Race_Maintenance_Cont_Low:                          boolean := FALSE
  bool_Race_Maintenance_High:                              boolean := FALSE
  bool_Race_Maintenance_Cont_High:                         boolean := FALSE
  bool_Race_Converted_Resources:                           boolean := FALSE

  lng_Minerals_Surplus:                                    long := 0
  lng_Minerals_Deficit:                                    long := 0
  lng_Max_Minerals_To_Convert:                             long := 0
  lng_Max_Minerals_Needed:                                 long := 0
  lng_Organics_Surplus:                                    long := 0
  lng_Organics_Deficit:                                    long := 0
  lng_Max_Organics_To_Convert:                             long := 0
  lng_Max_Organics_Needed:                                 long := 0
  lng_Radioactives_Surplus:                                long := 0
  lng_Radioactives_Deficit:                                long := 0
  lng_Max_Radioactives_To_Convert:                         long := 0
  lng_Max_Radioactives_Needed:                             long := 0

  real_Max_Minerals_Storage:                               real := 100000.0
  real_Max_Organics_Storage:                               real := 100000.0
  real_Max_Radioactives_Storage:                           real := 100000.0

  real_Minerals_Prod_Pending:                              real := 0.0
  real_Organics_Prod_Pending:                              real := 0.0
  real_Radioactives_Prod_Pending:                          real := 0.0

  lng_Minerals_Prod_Pct:                                   long := 60
  lng_Minerals_Spend_Pct:                                  long := 0
  lng_Organics_Prod_Pct:                                   long := 15
  lng_Organics_Spend_Pct:                                  long := 0
  lng_Radioactives_Prod_Pct:                               long := 25
  lng_Radioactives_Spend_Pct:                              long := 0

  lng_Pct_Trade_Income_For_Maintenance:                    long := 0

  // Facility IDs
  lng_facility_id_spaceport:                               long
  lng_facility_id_resupply_depot:                          long
  lng_facility_id_space_yard:                              long
  // Resources
  lng_facility_id_minerals:                                long
  lng_facility_id_minerals_mod:                            long
  lng_facility_id_minerals_sys_mod:                        long
  lng_facility_id_organics:                                long
  lng_facility_id_organics_mod:                            long
  lng_facility_id_organics_sys_mod:                        long
  lng_facility_id_radioactives:                            long
  lng_facility_id_radioactives_mod:                        long
  lng_facility_id_radioactives_sys_mod:                    long
  lng_facility_id_monolith:                                long
  lng_facility_id_comp_factory:                            long
  lng_facility_id_sys_robotoid:                            long
  lng_facility_id_resource_conversion:                     long
  lng_facility_id_resource_reclamation:                    long
  // Research & Intel
  lng_facility_id_research_pts:                            long
  lng_facility_id_research_pts_mod:                        long
  lng_facility_id_research_pts_sys_mod:                    long
  lng_facility_id_intel_pts:                               long
  lng_facility_id_intel_pts_mod:                           long
  lng_facility_id_intel_pts_sys_mod:                       long
  // Population Maintenance
  lng_facility_id_plague_prevention:                       long
  lng_facility_id_pop_happiness:                           long
  lng_facility_id_pop_amount:                              long
  lng_facility_id_pop_reproduction:                        long
  // Planet Modification
  lng_facility_id_planet_value:                            long
  lng_facility_id_planet_conditions:                       long
  lng_facility_id_planet_atmosphere:                       long
  // Training
  lng_facility_id_ship_training:                           long
  lng_facility_id_fleet_training:                          long
  // Shields
  lng_facility_id_shield_pts:                              long
  lng_facility_id_sys_shield:                              long
  // Storage
  lng_facility_id_minerals_storage:                        long
  lng_facility_id_organics_storage:                        long
  lng_facility_id_radioactives_storage:                    long
  lng_facility_id_cargo_storage:                           long
  // Racial Trait
  lng_facility_id_events_mod:                              long
  lng_facility_id_shield_mod:                              long
  lng_facility_id_combat_mod:                              long
  lng_facility_id_damage_mod:                              long
  lng_facility_id_maint_mod:                               long
  lng_facility_id_prod_mod:                                long
  lng_facility_id_value_mod:                               long
  lng_facility_id_solar_resources:                         long
  lng_facility_id_scanner:                                 long
  lng_facility_id_extra_facility_space:                    long
  lng_facility_id_dimensional_rift:                        long
  lng_facility_id_allegiance_subverter:                    long

  // Variables for unit launching and recovering
  lng_AI_Min_Fighter_Group_Size:                           long := 20
  lng_AI_Min_Satellite_Group_Size:                         long := 5
  lng_AI_Min_Mine_Group_Size:                              long := 20
  lng_AI_Min_Drone_Group_Size:                             long := 5

  lng_AI_Pct_Troops_For_Colonies:                          long := 80
  lng_AI_Pct_Fighters_For_Colonies:                        long := 50
  lng_AI_Pct_Satellites_For_Colonies:                      long := 50
  lng_AI_Pct_Mines_For_Colonies:                           long := 20
  lng_AI_Pct_Drones_For_Colonies:                          long := 50

  // List variables for vehicle sizes
  lst_AI_Vehicle_Sizes_Name:                               stringlist
  lst_AI_Vehicle_Sizes_AI_Size:                            longlist

  // List variables for design type purchasing
  lst_AI_Design_Type_Name:                                 stringlist
  lst_AI_Design_Type_Num_Wanted:                           longlist
  lst_AI_Design_Type_Vehicle_Size:                         longlist
  lst_AI_Design_Type_Vehicle_Demand:                       longlist
  lst_AI_Design_Type_Task_Force_Role:                      longlist

  // Vehicle demand reduction
  lng_Ship_Demand_Reduction_Factor:                        long := 1
  lng_Unit_Demand_Reduction_Factor:                        long := 1

  // Scrapping and retrofitting
  lng_AI_Design_Time_Until_Retrofit:                       long := 10
  lng_Max_Ships_To_Retrofit:                               long := 5
  lng_Retrofit_Min_Cost_Difference:                        long := 5
  lng_Retrofit_Max_Cost_Difference:                        long := 50
  lng_Ship_Obsolete_Time_To_Scrap:                         long := 50
  lng_Max_Ships_To_Scrap:                                  long := 1
  lng_Scrap_Ship_Count:                                    long := 0
  lng_Max_Units_To_Scrap:                                  long := 100
  lng_Unit_Obsolete_Time_To_Scrap:                         long := 80
  lng_Emergency_Scrap_Pts:                                 long := 0
  lng_Max_Facilities_To_Scrap:                             long := 1
  lng_Max_Facilities_To_Add:                               long := 1
  lng_Scrap_Facility_Count:                                long := 0
  lng_Scrap_Facility_Added_Count:                          long := 0

  // Variables to control ship size distribution
  lng_Pct_Small_Ships:                                     long := 0
  lng_Pct_Medium_Ships:                                    long := 0
  lng_Pct_Large_Ships:                                     long := 0

  lng_Pct_Small_Carriers:                                  long := 0
  lng_Pct_Medium_Carriers:                                 long := 0
  lng_Pct_Large_Carriers:                                  long := 0

  lng_Pct_Small_Bases:                                     long := 0
  lng_Pct_Large_Bases:                                     long := 0

  lng_Pct_Small_WPs:                                       long := 0
  lng_Pct_Large_WPs:                                       long := 0

  // Variables for wanted design types
  lng_Num_Attack_Ships:                                    long
  lng_Num_Defense_Ships:                                   long
  lng_Num_Seeker_Ships:                                    long
  lng_Num_PD_Ships:                                        long
  lng_Num_Explorer_Ships:                                  long
  lng_Num_Scout_Ships:                                     long
  lng_Num_Patrol_Ships:                                    long
  lng_Num_Boarding_Ships:                                  long
  lng_Num_Bombardment_Ships:                               long
  lng_Num_Kamikaze_Ships:                                  long
  lng_Num_Carriers:                                        long
  lng_Num_Drone_Carriers:                                  long
  lng_Num_Base_Ships:                                      long
  lng_Num_Space_Yard_Ships:                                long
  lng_Num_Repair_Ships:                                    long
  lng_Num_Supply_Transports:                               long
  lng_Num_Troop_Transports:                                long
  lng_Num_Pop_Transports:                                  long
  lng_Num_Cargo_Transports:                                long
  lng_Num_Medical_Ships:                                   long
  lng_Num_Plague_Ships:                                    long
  lng_Num_Sat_Layers:                                      long
  lng_Num_Mine_Layers:                                     long
  lng_Num_Mine_Sweepers:                                   long
  lng_Num_Mining_Ships:                                    long
  lng_Num_Farming_Ships:                                   long
  lng_Num_Refining_Ships:                                  long
  lng_Num_WP_Openers:                                      long := 1
  lng_Num_WP_Closers:                                      long := 1
  lng_Num_Planet_Creators:                                 long := 1
  lng_Num_Planet_Destroyers:                               long := 1
  lng_Num_Star_Destroyers:                                 long := 1

  lng_Num_Base_Space_Yards:                                long
  lng_Num_Defense_Bases:                                   long

  lng_Num_Troops:                                          long
  lng_Num_Light_Troops:                                    long
  lng_Num_Heavy_Troops:                                    long

  lng_Num_Fighters:                                        long
  lng_Num_Fighter_Bombers:                                 long
  lng_Num_Kamikaze_Fighters:                               long

  lng_Num_Weapon_Platforms:                                long
  lng_Num_Seeker_WPs:                                      long

  lng_Num_Satellites:                                      long
  lng_Num_PD_Sats:                                         long
  lng_Num_Seeker_Sats:                                     long
  lng_Num_Recon_Sats:                                      long
  lng_Num_Repair_Sats:                                     long

  lng_Num_Mines:                                           long

  lng_Num_Atk_Drones:                                      long
  lng_Num_Def_Drones:                                      long
  lng_Num_Seeker_Drones:                                   long
  lng_Num_Kamikaze_Drones:                                 long
  lng_Num_Bombardment_Drones:                              long
  lng_Num_Repair_Drones:                                   long

  // Research priority settings
  lng_Research_Priority_Level:                             long := 1
  lng_Vehicle_Construction_Priority_Level:                 long := 1

  // Number of systems to target for attack or defense
  lng_Max_Attack_Systems:                                  long := 3
  lng_Max_Defense_Systems:                                 long := 3

  // Variables for general fleet settings
  lng_AI_Num_Combat_Ships:                                 long := 0
  lng_AI_Available_Fleet_Ships_Count:                      long := 0
  lng_AI_Fleet_Size:                                       long := 2
  lng_Percent_Of_Attack_Ships_To_Use_For_Fleets:           long := 90
  lng_Pct_Fleets_For_Attack:                               long := 50
  lng_Pct_Fleets_For_Defense:                              long := 50
  lng_Pct_Ships_For_Attack_Fleets:                         long := 60
  lng_Pct_Ships_For_Defense_Fleets:                        long := 40
  lng_Num_Planets_Colonized_This_Turn:                     long := 0
  lng_Max_Explorers:                                       long := 0
  lng_Max_Surveyors:                                       long := 0
  lng_Max_Patrols:                                         long := 0
  lng_Num_Minesweepers:                                    long := 0

  lng_Max_Ship_Movement:                                   long
  lng_Max_Enemy_Ship_Movement:                             long

  // Variables for fleet strategies and formations
  lst_AI_Fleet_ID:                                         longlist
  lst_AI_Fleet_Status:                                     longlist
  lst_AI_Fleet_Type:                                       longlist
  lst_AI_Fleet_Leader:                                     longlist

  lst_AI_Fleet_Sys_Loc:                                    longlist
  lst_AI_Fleet_Sect_Loc:                                   longlist
  lst_AI_Fleet_Strength:                                   longlist
  lst_AI_Fleet_Movement:                                   longlist
  lst_AI_Fleet_Range:                                      longlist
  lst_AI_Fleet_Mine_Sweep_Count:                           longlist

  str_AI_Fleet_Capture:                                    stringlist

  str_Atk_Ship_Atk_Strat:                                  string := "Optimal Range"
  str_Atk_Ship_Def_Strat:                                  string := "Optimal Range"
  str_Def_Ship_Atk_Strat:                                  string := "Optimal Range"
  str_Def_Ship_Def_Strat:                                  string := "Maximum Range"
  str_Skr_Ship_Atk_Strat:                                  string := "Maximum Range"
  str_Skr_Ship_Def_Strat:                                  string := "Maximum Range"

  lng_Atk_Ship_Atk_Strat:                                  long := 0
  lng_Atk_Ship_Def_Strat:                                  long := 0
  lng_Def_Ship_Atk_Strat:                                  long := 0
  lng_Def_Ship_Def_Strat:                                  long := 0
  lng_Skr_Ship_Atk_Strat:                                  long := 0
  lng_Skr_Ship_Def_Strat:                                  long := 0

  lng_Atk_Fleet_Atk_Form:                                  long := 0
  lng_Atk_Fleet_Def_Form:                                  long := 0
  lng_Def_Fleet_Atk_Form:                                  long := 0
  lng_Def_Fleet_Def_Form:                                  long := 0

  lng_TF_Fill_Strategy:                                    long := 0
  lng_TF_Atk_Ship_Atk_Form:                                long := 0
  lng_TF_Atk_Ship_Def_Form:                                long := 0
  lng_TF_Def_Ship_Atk_Form:                                long := 0
  lng_TF_Def_Ship_Def_Form:                                long := 0
  lng_TF_Skr_Ship_Atk_Form:                                long := 0
  lng_TF_Skr_Ship_Def_Form:                                long := 0

  // Variables for combat performance
  lst_Space_Combat_Wins_vs_Player:                         longlist
  lst_Space_Combat_Losses_vs_Player:                       longlist
  lst_Space_Combat_Stalemates_vs_Player:                   longlist
  lst_Space_Combat_Pts_vs_Player:                          longlist
  lst_Ground_Combat_Wins_vs_Player:                        longlist
  lst_Ground_Combat_Losses_vs_Player:                      longlist
  lst_Ground_Combat_Stalemates_vs_Player:                  longlist
  lst_Ground_Combat_Pts_vs_Player:                         longlist
  lst_Colonies_Lost_vs_Player:                             longlist

  bool_Race_Space_Combat_Good:                             boolean
  bool_Race_Space_Combat_Poor:                             boolean
  bool_Race_Ground_Combat_Good:                            boolean
  bool_Race_Ground_Combat_Poor:                            boolean
  bool_Race_Losing_Colonies_In_Combat:                     boolean
  bool_Race_Prompt_Design_Strategy_Change:                 boolean := FALSE

  lng_Combat_Pts_for_Space_Combat_Offense_Win:             long := 3
  lng_Combat_Pts_for_Space_Combat_Defense_Win:             long := 3
  lng_Combat_Pts_for_Space_Combat_Offense_Lost:            long := -1
  lng_Combat_Pts_for_Space_Combat_Defense_Lost:            long := -2
  lng_Combat_Pts_for_Space_Combat_Stalemate:               long := -1
  lng_Combat_Pts_for_Ground_Combat_Offense_Win:            long := 5
  lng_Combat_Pts_for_Ground_Combat_Defense_Win:            long := 3
  lng_Combat_Pts_for_Ground_Combat_Offense_Lost:           long := -3
  lng_Combat_Pts_for_Ground_Combat_Defense_Lost:           long := -3
  lng_Combat_Pts_for_Ground_Combat_Stalemate:              long := -1
  lng_Combat_Pts_for_Colony_Lost:                          long := -5

  lng_Combat_Primary_Enemy:                                long := 0

  // Lists for political anger
  lst_Politics_Anger_Amount:                               longlist
  lst_Politics_Anger_Time:                                 longlist

  lst_Politics_Anger_Event_Type:                           longlist
  lst_Politics_Anger_Event_Amount:                         longlist

  lst_Politics_Anger_Message_Type:                         longlist
  lst_Politics_Anger_Message_Amount:                       longlist

  // Lists for political comparisons
  lst_Politics_Score_Versus_Player:                        longlist
  lst_Politics_Score_Versus_Alliance:                      longlist
  lst_Politics_Player_Native_Atmosphere:                   longlist
  lst_Politics_Player_Colonization_Ability:                longlist
  lst_Politics_Player_Overlap_Pct:                         longlist
  lst_Politics_Player_Avg_Sys_Dist:                        longlist
  lst_Politics_Player_Tech_Levels:                         longlist
  lst_Politics_Anger_Towards_Player:                       longlist
  lst_Politics_Anger_Towards_Alliance:                     longlist
  lst_Politics_Player_Reputation_Score:                    longlist
  lst_Politics_Fear_Towards_Player:                        longlist
  lst_Politics_Fear_Towards_Alliance:                      longlist
  lst_Politics_Friendship_Towards_Player:                  longlist
  lst_Politics_Friendship_Towards_Alliance:                longlist
  lst_Politics_Strategy_Towards_Player:                    longlist
  lst_Politics_Target_Player_Priority:                     longlist
  lst_Politics_Target_Alliance_Priority:                   longlist
  lst_Politics_Cooperation_Level:                          longlist
  lst_Politics_Cooperation_Priority_Target:                longlist
  lst_Politics_Cooperation_Needed_Resource:                longlist
  lst_Politics_Cooperation_Needed_Tech:                    longlist
  lst_Politics_Cooperation_Special_Request:                longlist
  lst_Politics_Non_Aggression_Level:                       longlist

  // Variables for ranks
  lng_Politics_Score_Rank:                                 long := 1

  // Variables
  bool_Human_Empire_Is_Strong:                             boolean := FALSE

  // Variables for primary friend/enemy
  lng_Politics_Primary_Friend:                             long
  lng_Politics_Primary_Enemy:                              long
  lng_Politics_Primary_Weak_Enemy:                         long
  lng_Politics_Mega_Evil_Player:                           long

  // Variables for counting diplomatic states
  lng_AI_Num_Of_Wars:                                      long
  lng_AI_Num_Of_Neutral_Wars:                              long
  lng_AI_Num_Of_Friendly_Treaties:                         long
  lng_AI_Num_Of_Other_Treaties:                            long
  lng_AI_Num_Of_Known_Players:                             long
  lng_AI_Num_Of_Enemies:                                   long
  lng_AI_Num_Of_Priority_Enemies:                          long

  lng_Politics_Friendship_Pts_Ok_Friend:                   long := 5
  lng_Politics_Friendship_Pts_Good_Friend:                 long := 10

  // Variables for anger modifiers
  lng_Politics_Max_Friendship_Pts_For_Anger:               long := 5
  lng_Politics_Anger_Amount_For_Known_Status_Time:         long := 1
  lng_Politics_Anger_Amount_For_Treaty_Status_Time:        long := 3
  lng_Politics_Anger_Amount_For_War_Status_Time:           long := 5
  lng_Politics_Anger_Amount_Friend_Of_Friend:              long := -2
  lng_Politics_Anger_Amount_Friend_Of_Enemy:               long := 2
  lng_Politics_Anger_Amount_Enemy_Of_Enemy:                long := -2
  lng_Politics_Anger_Amount_Enemy_Of_Friend:               long := 2
  lng_Politics_Min_Anger_For_Political_Status:             long := -20
  lng_Politics_Max_Anger_For_Political_Status:             long := 20
  lng_Politics_Min_Anger_For_Political_Status_With_Others: long := -10
  lng_Politics_Max_Anger_For_Political_Status_With_Others: long := 10
  lng_Politics_Min_Anger_Flux:                             long := -3
  lng_Politics_Max_Anger_Flux:                             long := 3

  lng_Politics_Anger_Reduction_For_Wars:                   long := -10
  lng_Politics_Anger_Reduction_For_Similarity:             long := -5
  lng_Politics_Anger_Increase_For_Dissimilarity:           long := 5
  lng_Politics_Anger_Increase_For_Mega_Evil:               long := 10
  lng_Politics_Anger_Reduction_For_Mega_Evil:              long := -20
  lng_Politics_Anger_Reduction_For_AI_Team:                long := -20
  lng_Politics_Anger_Reduction_For_Common_Enemy:           long := -10
  lng_Politics_Anger_Increase_For_Friendly_Galaxy:         long := 10

  // Diplomacy values
  lng_Politics_State_Modifier:                                       long := 0
  lng_Political_Message_Score_Percent_For_Demanding_Tone:            long := 80
  lng_Political_Message_Score_Percent_For_Pleading_Tone:             long := 125
  lng_Politics_Base_Anger_Level:                                     long := 50
  lng_Politics_Min_Anger_Allowed:                                    long := 0
  lng_Politics_Max_Anger_To_Propose_Treaty:                          long := 50
  lng_Politics_Max_Anger_To_Accept_Treaty:                           long := 60
  lng_Politics_Max_Anger_To_Counter_Treaty:                          long := 60
  lng_Politics_Max_Anger_To_Propose_Alliance:                        long := 50
  lng_Politics_Max_Anger_To_Accept_Alliance:                         long := 30
  lng_Politics_Max_Anger_To_Counter_Alliance:                        long := 40
  lng_Politics_Max_Anger_To_Accept_Gift:                             long := 70
  lng_Politics_Max_Anger_To_Trade:                                   long := 70
  lng_Politics_Min_Anger_To_Declare_War:                             long := 80
  lng_Politics_Min_Time_To_Declare_War:                              long := 10
  lng_Politics_Min_Anger_To_Break_Treaty:                            long := 70
  lng_Politics_Min_Time_To_Break_Treaty:                             long := 10
  lng_Politics_Min_Fear_To_Make_Peace:                               long := 20
  lng_Politics_Min_Time_To_Accept_Treaty_Change:                     long := 5
  lng_Politics_Trade_Value_Percent_For_Enemy:                        long := 110
  lng_Politics_Trade_Value_Percent_For_Friend:                       long := 90
  lng_Politics_Min_Fear_To_Surrender:                                long := 50
  lng_Politics_Min_Fear_To_Give_Enemy_Gift:                          long := 20
  lng_Politics_Min_Fear_To_Give_Friend_Gift:                         long := 10
  lng_Politics_Min_Fear_To_Accept_Enemy_Demand:                      long := 20
  lng_Politics_Min_Fear_To_Accept_Friend_Demand:                     long := 10
  lng_Politics_Max_Concurrent_Requests_To_Honor_From_One_Player:     long := 3
  lng_Politics_Max_Time_To_Honor_A_Request:                          long := 10
  lng_Politics_Percent_Chance_To_Propose_Treaty:                     long := 20
  lng_Politics_Percent_Chance_To_Change_Treaty:                      long := 5

  lng_Politics_Alliance_Max_Anger_To_Add_Member:                     long := 40
  lng_Politics_Alliance_Min_Anger_To_Remove_Member:                  long := 60
  lng_Politics_Alliance_Max_Anger_To_Accept_Rule_Change:             long := 30
  lng_Politics_Alliance_Max_Anger_To_Accept_Send_Message:            long := 35
  lng_Politics_Alliance_Max_Anger_To_Accept_Reply_Message:           long := 35

  // Treaty
  lng_Politics_Treaty_Elements_Allowed_Type:                         longlist
  lng_Politics_Treaty_Elements_Allowed_Value:                        longlist
  lng_Politics_Treaty_Elements_Allowed_Max_Anger:                    longlist
  lng_Politics_Treaty_Elements_Allowed_Friendship_Value:             longlist
  lng_Politics_Treaty_Elements_Allowed_Concession_Value:             longlist
  lng_Politics_Alliance_Elements_Allowed_Type:                       longlist
  lng_Politics_Alliance_Elements_Allowed_Value:                      longlist
  lng_Politics_Alliance_Elements_Allowed_Max_Anger:                  longlist

  // Anger amounts for events
  lng_AI_Anger_Amount_Space_Combat_Won:                              long := 2
  lng_AI_Anger_Amount_Space_Combat_Lost:                             long := 4
  lng_AI_Anger_Amount_Space_Combat_Stalemate:                        long := 3
  lng_AI_Anger_Amount_Ground_Combat_Won:                             long := 3
  lng_AI_Anger_Amount_Ground_Combat_Lost:                            long := 5
  lng_AI_Anger_Amount_Ground_Combat_Stalemate:                       long := 4
  lng_AI_Anger_Amount_Mine_Explosion:                                long := 2

  lng_AI_Anger_Amount_Treaty_Designs_Received:                       long := -2
  lng_AI_Anger_Amount_Treaty_Maps_Received:                          long := -2
  lng_AI_Anger_Amount_Treaty_Tech_Provided:                          long := -4
  lng_AI_Anger_Amount_Treaty_Comm_Channels_Provided:                 long := -2
  lng_AI_Anger_Amount_Treaty_Espionage_Info_Provided:                long := -2
  lng_AI_Anger_Amount_Treaty_Combat_Info_Provided:                   long := -2

  lng_AI_Anger_Amount_Espionage:                                     long := 3
  lng_AI_Anger_Amount_Sabotage:                                      long := 3
  lng_AI_Anger_Amount_Planet_Cargo_Bomb:                             long := 5
  lng_AI_Anger_Amount_Planet_Conditions_Change:                      long := 3
  lng_AI_Anger_Amount_Planet_Plagued:                                long := 10
  lng_AI_Anger_Amount_Planet_Population_Change:                      long := 5
  lng_AI_Anger_Amount_Planet_Anger_Change:                           long := 3
  lng_AI_Anger_Amount_Planet_Riot:                                   long := 5
  lng_AI_Anger_Amount_Planet_Rebel:                                  long := 10
  lng_AI_Anger_Amount_Planet_Value_Change:                           long := 5
  lng_AI_Anger_Amount_Points_Change:                                 long := 5
  lng_AI_Anger_Amount_Ship_Damaged:                                  long := 2
  lng_AI_Anger_Amount_Ship_Cargo_Bomb:                               long := 2
  lng_AI_Anger_Amount_Ship_Lost_Supply:                              long := 2
  lng_AI_Anger_Amount_Ship_Lost_Movement:                            long := 2
  lng_AI_Anger_Amount_Ship_Lost_Experience:                          long := 2
  lng_AI_Anger_Amount_Ship_Orders_Changed:                           long := 2
  lng_AI_Anger_Amount_Ship_Rebel:                                    long := 5

  lng_AI_Anger_Amount_Planet_Destroyed:                              long := 10
  lng_AI_Anger_Amount_Star_Destroyed:                                long := 20
  lng_AI_Anger_Amount_Blackhole_Created:                             long := 15
  lng_AI_Anger_Amount_Nebulae_Created:                               long := 15
  lng_AI_Anger_Amount_Storm_Created:                                 long := 5
  lng_AI_Anger_Amount_WP_Closed:                                     long := 5
  lng_AI_Anger_Amount_WP_Opened:                                     long := 5

  // Anger amounts for messages
  lng_AI_Anger_Amount_Msg_General:                                   long := -2
  lng_AI_Anger_Amount_Msg_Reply:                                     long := -2
  lng_AI_Anger_Amount_Msg_Declare_War:                               long := 25
  lng_AI_Anger_Amount_Msg_Grant_Independence:                        long := 5
  lng_AI_Anger_Amount_Msg_Propose_Treaty:                            long := -5
  lng_AI_Anger_Amount_Msg_Accept_Treaty:                             long := -10
  lng_AI_Anger_Amount_Msg_Accept_Treaty_Changes:                     long := -5
  lng_AI_Anger_Amount_Msg_Refuse_Treaty:                             long := 5
  lng_AI_Anger_Amount_Msg_Refuse_Treaty_Changes:                     long := 3
  lng_AI_Anger_Amount_Msg_Counter_Treaty:                            long := -2
  lng_AI_Anger_Amount_Msg_Counter_Treaty_Changes:                    long := -2
  lng_AI_Anger_Amount_Msg_Break_Treaty:                              long := 30
  lng_AI_Anger_Amount_Msg_Propose_Trade:                             long := -2
  lng_AI_Anger_Amount_Msg_Accept_Trade:                              long := -4
  lng_AI_Anger_Amount_Msg_Refuse_Trade:                              long := -2
  lng_AI_Anger_Amount_Msg_Counter_Trade:                             long := 0
  lng_AI_Anger_Amount_Msg_Request_Gift:                              long := 5
  lng_AI_Anger_Amount_Msg_Give_Gift:                                 long := -5
  lng_AI_Anger_Amount_Msg_Accept_Gift:                               long := -5
  lng_AI_Anger_Amount_Msg_Refuse_Gift:                               long := 5
  lng_AI_Anger_Amount_Msg_Request_Accept:                            long := -5
  lng_AI_Anger_Amount_Msg_Request_Refuse:                            long := 5
  lng_AI_Anger_Amount_Msg_Request_Surrender:                         long := 15
  lng_AI_Anger_Amount_Msg_Propose_Alliance:                          long := -5
  lng_AI_Anger_Amount_Msg_Accept_Alliance:                           long := -10
  lng_AI_Anger_Amount_Msg_Refuse_Alliance:                           long := 5
  lng_AI_Anger_Amount_Msg_Leave_Alliance:                            long := 15

  // Anger amounts for ships/colonies in AI territory
  lng_AI_Anger_Amount_Ships_In_Territory:                            long := 2
  lng_AI_Anger_Amount_Colonies_In_Territory:                         long := 5
  lng_AI_Anger_Amount_Units_In_Territory:                            long := 5

  // AI speech file
  str_Politics_Speech_Datafile_Filename:                   string    := ""

  // Lists for giving ship orders
  lst_AI_Our_Ships:                                        longlist
  lst_AI_Our_Prev_Ships:                                   longlist
  lst_AI_Our_Ships_Status:                                 longlist
  lst_AI_Our_Prev_Ships_Status:                            longlist
  lst_AI_Our_Disabled_Ships:                               longlist
  lst_AI_Our_Repairing_Ships:                              longlist
  lst_AI_Our_Ships_To_Escort:                              longlist
  lst_AI_Our_Colonies:                                     longlist
  lst_AI_Our_Core_Colonies:                                longlist
  lst_AI_Our_System_Capital_Colonies:                      longlist
  lst_AI_Our_Rioting_Colonies:                             longlist
  lst_AI_Our_Plagued_Colonies:                             longlist
  lst_AI_Our_Zero_Population_Colonies:                     longlist
  lst_AI_Our_Colonies_Receiving_Population:                longlist
  lst_AI_Our_Space_Yards:                                  longlist
  lst_AI_Our_Resupply_Depots:                              longlist
  lst_AI_Our_Colony_Systems:                               longlist
  lst_AI_Enemy_Colony_Systems:                             longlist
  lst_AI_Mutual_Colony_Systems:                            longlist
  lst_AI_Our_Spaceport_Systems:                            longlist
  lst_AI_Our_Resupply_Systems:                             longlist
  lst_AI_Our_Space_Yard_Systems:                           longlist
  lst_AI_Our_Recycler_Systems:                             longlist
  lst_AI_Our_Not_Connected_Systems:                        longlist
  lst_AI_Our_Protected_Systems:                            longlist
  lst_AI_Our_Colony_Unit_Hubs:                             longlist
  lst_AI_Our_Space_Yard_Hubs:                              longlist
  lst_AI_Our_Fleet_Hubs:                                   longlist
  lst_AI_Colony_High_Troops:                               longlist
  lst_AI_Colony_Low_Troops:                                longlist
  lst_AI_Colony_Num_Troops_Wanted:                         longlist
  lst_AI_Colony_High_Fighters:                             longlist
  lst_AI_Colony_Low_Fighters:                              longlist
  lst_AI_Colony_Num_Fighters_Wanted:                       longlist
  lst_AI_Colony_High_Weapon_Platforms:                     longlist
  lst_AI_Colony_Low_Weapon_Platforms:                      longlist
  lst_AI_Colony_Num_Weapon_Platforms_Wanted:               longlist
  lst_AI_Colony_High_Satellites:                           longlist
  lst_AI_Colony_Low_Satellites:                            longlist
  lst_AI_Colony_Num_Satellites_Wanted:                     longlist
  lst_AI_Colony_High_Mines:                                longlist
  lst_AI_Colony_Low_Mines:                                 longlist
  lst_AI_Colony_Num_Mines_Wanted:                          longlist
  lst_AI_Colony_High_Drones:                               longlist
  lst_AI_Colony_Low_Drones:                                longlist
  lst_AI_Colony_Num_Drones_Wanted:                         longlist
  lst_AI_Colony_Pollution_Pts:                             longlist
  lst_AI_Asteroid_Fields_For_Resources:                    longlist
  lst_AI_Asteroid_Fields_Dist_For_Resources:               longlist
  lst_AI_Asteroid_Fields_For_Planets:                      longlist
  lst_AI_Storms_In_Our_Systems:                            longlist
  lst_AI_System_Distance_To_Nearest_Colony:                longlist
  lst_AI_Systems_To_Target_For_Destruction:                longlist
  lst_AI_Remote_Mining_Sys_Loc:                            longlist
  lst_AI_Remote_Mining_Sect_Loc:                           longlist
  lst_AI_Remote_Mining_Ship_Active:                        longlist
  lst_AI_Survey_System:                                    longlist
  lst_AI_Survey_Distance_To_Home:                          longlist
  lst_AI_Explore_System:                                   longlist
  lst_AI_Explore_Sector:                                   longlist
  lst_AI_Explore_WP_Index:                                 longlist
  lst_AI_Explore_WP_ID:                                    longlist
  lst_AI_Explore_Distance_To_Home:                         longlist
  lst_AI_Border_System:                                    longlist
  lst_AI_Hidden_Enemy_System:                              longlist
  lst_AI_Hidden_Other_System:                              longlist
  lst_AI_Patrol_System:                                    longlist
  lst_AI_Patrol_Sector:                                    longlist
  lst_AI_Patrol_WP_ID:                                     longlist
  lst_AI_Patrol_Dest_System:                               longlist
  lst_AI_Patrol_Dest_Sector:                               longlist
  lst_AI_Patrol_Secondary_System:                          longlist
  lst_AI_Patrol_Secondary_Sector:                          longlist
  lst_AI_Fleet_Holding_System:                             longlist
  lst_AI_Fleet_Holding_Sector:                             longlist
  lst_AI_Fleet_Holding_WP_ID:                              longlist
  lst_AI_Fleet_Holding_Dest_System:                        longlist
  lst_AI_Fleet_Holding_Location_Priority:                  longlist
  lst_AI_Fleet_Training_System:                            longlist
  lst_AI_Fleet_Training_Sector:                            longlist
  lst_AI_Fleet_Hub_System:                                 longlist
  lst_AI_Fleet_Hub_Sector:                                 longlist
  lst_AI_Unit_Drop_Location_System:                        longlist
  lst_AI_Unit_Drop_Location_Sector:                        longlist
  lst_AI_Unit_Drop_Location_Dest_Sys:                      longlist
  lst_AI_Unit_Drop_Location_Priority:                      longlist
  lst_AI_Remote_Base_Location_System:                      longlist
  lst_AI_Remote_Base_Location_Sector:                      longlist
  lst_AI_Remote_Base_Location_Priority:                    longlist
  lst_AI_Systems_To_Connect:                               longlist
  lst_AI_Warp_Points_To_Close_ID:                          longlist
  lst_AI_Warp_Points_To_Close_Dest_Sys:                    longlist
  lst_AI_Storms_To_Destroy:                                longlist
  lst_AI_Storms_To_Destroy_Distance:                       longlist
  lst_AI_Planets_To_Destroy:                               longlist
  lst_AI_Planets_To_Destroy_Distance:                      longlist
  lst_AI_Stars_To_Destroy:                                 longlist
  lst_AI_Stars_To_Destroy_Distance:                        longlist
  lst_AI_Nebula_Sys:                                       longlist
  lst_AI_Blackhole_Sys:                                    longlist
  lst_AI_Request_Location_System:                          longlist
  lst_AI_Colonizable_Planets:                              longlist
  lst_AI_Planets_To_Colonize:                              longlist
  lst_AI_Planets_To_Colonize_Num_Types:                    longlist
  lst_AI_Our_System_Colony_Count:                          longlist
  lst_AI_Our_System_Population:                            longlist
  lst_AI_Our_System_Facility_Count:                        longlist
  lst_AI_Our_System_Resource_Facility_Count:               longlist
  lst_AI_Our_System_Strategic_Values:                      longlist
  lst_AI_Our_System_Strengths:                             longlist
  lst_AI_Our_System_Ship_Strengths:                        longlist
  lst_AI_Our_System_Unit_Strengths:                        longlist
  lst_AI_Our_System_Defense_Base_Strengths:                longlist
  lst_AI_Ally_System_Strengths:                            longlist
  lst_AI_Enemy_System_Strengths:                           longlist
  lst_AI_Enemy_System_Strategic_Values:                    longlist
  lst_AI_Enemy_System_Colony_Count:                        longlist
  lst_AI_Enemy_System_Population:                          longlist
  lst_AI_Enemy_System_Facility_Count:                      longlist
  lst_AI_Enemy_System_Resource_Facility_Count:             longlist
  lst_AI_System_To_Avoid:                                  longlist
  lst_AI_Marked_Minefield_Sys:                             longlist
  lst_AI_Marked_Minefield_Sect:                            longlist
  lst_AI_Marked_Minefield_Count:                           longlist
  lst_AI_Enemy_Marked_Minefield_Count:                     longlist
  lst_AI_Solitary_Minesweepers:                            longlist
  lst_AI_Solitary_Attack_Ships:                            longlist
  lst_AI_System_Value:                                     reallist
  lst_AI_Systems_With_Limited_Planets:                     longlist
  lst_AI_System_Chokepoint_Rating:                         longlist
  lst_AI_System_WP_Connections:                            longlist
  lst_AI_System_WP_Hubs:                                   longlist
  lst_AI_System_Two_WPs:                                   longlist
  lst_AI_System_WP_Deadends:                               longlist

  // Lists for following up requests
  lst_AI_Temp_Stop_Intel_vs_Empire:                        longlist
  lst_AI_Temp_Stop_Attack_vs_Empire:                       longlist
  lst_AI_Temp_Stop_Attack_in_System:                       longlist
  lst_AI_Remove_Ships_From_System:                         longlist
  lst_AI_Give_Technological_Assistance_to_Empire:          longlist
  lst_AI_Give_Resource_Assistance_to_Empire:               longlist
  lst_AI_Give_Military_Assistance_vs_Empire:               longlist
  lst_AI_Give_Military_Assistance_in_System:               longlist
  lst_AI_Give_Intel_Def_Assistance_To_Empire:              longlist
  lst_AI_Give_Intel_Atk_Assistance_To_Empire:              longlist

  // List for targeted locations
  lst_AI_Target_To_Defend:                                 longlist
  lst_AI_Target_To_Defend_Dist:                            longlist
  lst_AI_Target_To_Defend_Count:                           longlist

  // List for defense locations
  lst_AI_Defense_Location_System:                          longlist
  lst_AI_Defense_Location_Sector:                          longlist
  lst_AI_Defense_Location_Strength:                        longlist
  lst_AI_Defense_Location_Assigned_Strength:               longlist
  lst_AI_Defense_Location_Owner:                           longlist
  lst_AI_Defense_Location_System_Distance:                 longlist
  lst_AI_Defense_Location_Ship_ID:                         longlist
  lst_AI_Defense_Location_Ship_Count:                      longlist
  lst_AI_Defense_Location_Strategic_Value:                 longlist
  lst_AI_Defense_Location_Ship_Min_Move:                   longlist
  lst_AI_Defense_System_Total_Count:                       longlist

  lst_AI_Defense_System_Priority_Rating:                   longlist

  // List for attack locations
  lst_AI_Attack_Location_System:                           longlist
  lst_AI_Attack_Location_Sector:                           longlist
  lst_AI_Attack_Location_Strength:                         longlist
  lst_AI_Attack_Location_Assigned_Strength:                longlist
  lst_AI_Attack_Location_Owner:                            longlist
  lst_AI_Attack_Location_System_Distance:                  longlist
  lst_AI_Attack_Location_Ship_ID:                          longlist
  lst_AI_Attack_Location_Ship_Count:                       longlist
  lst_AI_Attack_Location_Strategic_Value:                  longlist
  lst_AI_Attack_System_Total_Count:                        longlist

  lst_AI_Attack_System_Priority_Rating:                    longlist

  // List for nearby enemies
  lst_AI_Nearby_Enemy_Location_System:                     longlist
  lst_AI_Nearby_Enemy_Location_Sector:                     longlist
  lst_AI_Nearby_Enemy_Location_Strength:                   longlist
  lst_AI_Nearby_Enemy_Location_Assigned_Strength:          longlist
  lst_AI_Nearby_Enemy_Location_Owner:                      longlist
  lst_AI_Nearby_Enemy_Location_System_Distance:            longlist
  lst_AI_Nearby_Enemy_Location_Ship_ID:                    longlist
  lst_AI_Nearby_Enemy_Location_Ship_Count:                 longlist
  lst_AI_Nearby_Enemy_Location_Strategic_Value:            longlist
  lst_AI_Nearby_Enemy_Location_Ship_Min_Move:              longlist

  // List for anger locations
  lst_AI_Anger_Location_Owner:                             longlist
  lst_AI_Anger_Location_Ship_Count:                        longlist
  lst_AI_Anger_Location_Colony_Count:                      longlist
  lst_AI_Anger_Location_Unit_Count:                        longlist

  // List for repair locations
  lst_AI_Repair_Location_System:                           longlist
  lst_AI_Repair_Location_Sector:                           longlist
  lst_AI_Repair_Location_Repair_Tonnage:                   longlist

  // AI Status Variables
  bool_Race_Cannot_Cure_Plague:                            boolean := FALSE

endglobalvars